<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<svg>
  <feDropShadow id=dropshadow></feDropShadow>
  <feGaussianBlur id=gaussian></feGaussianBlur>
  <animate></animate>
</svg>
<script>
description('Check that invalid values of arguments throw TypeError.');

var dropShadow = document.getElementById('dropshadow');
var gaussian = document.getElementById('gaussian');
var animateElm = document.querySelector('animate');

debug('SVGAnimationElement');

debug('');
debug('beginElementAt(float offset)');
shouldNotThrow('animateElm.beginElementAt(0)');
shouldThrow('animateElm.beginElementAt(NaN)');
shouldThrow('animateElm.beginElementAt(Infinity)');

debug('');
debug('endElementAt(float offset)');
shouldNotThrow('animateElm.endElementAt(0)');
shouldThrow('animateElm.endElementAt(NaN)');
shouldThrow('animateElm.endElementAt(Infinity)');

debug('');
debug('');
debug('SVGFEDropShadowElement');

debug('');
debug('setStdDeviation(float stdDeviationX, float stdDeviationY)');
shouldNotThrow('dropShadow.setStdDeviation(0, 0)');
shouldThrow('dropShadow.setStdDeviation(NaN, 1)');
shouldThrow('dropShadow.setStdDeviation(Infinity, 1)');
shouldThrow('dropShadow.setStdDeviation(1, NaN)');
shouldThrow('dropShadow.setStdDeviation(1, Infinity)');

debug('');
debug('');
debug('SVGFEGaussianBlurElement');

debug('');
debug('setStdDeviation(float stdDeviationX, float stdDeviationY)');
shouldNotThrow('gaussian.setStdDeviation(0, 0)');
shouldThrow('gaussian.setStdDeviation(NaN, 1)');
shouldThrow('gaussian.setStdDeviation(Infinity, 1)');
shouldThrow('gaussian.setStdDeviation(1, NaN)');
shouldThrow('gaussian.setStdDeviation(1, Infinity)');

</script>
